﻿using System;

namespace HalconDotNet
{
    /// <summary>
    ///   This exception is thrown whenever an error occurs during
    ///   vector operations
    /// </summary>
    // Token: 0x0200009E RID: 158
    public class HVectorAccessException : HalconException
    {
        // Token: 0x06001FDD RID: 8157 RVA: 0x000BA9A0 File Offset: 0x000B8BA0
        private static string BuildMessage(HVector sender, string sInfo)
        {
            string text = sInfo;
            if (sender != null)
            {
                text = string.Concat(new string[]
                {
                    "'",
                    text,
                    "' when accessing '",
                    sender.ToString(),
                    "'"
                });
            }
            return text;
        }

        // Token: 0x06001FDE RID: 8158 RVA: 0x000BA9E4 File Offset: 0x000B8BE4
        internal HVectorAccessException(HVector sender, string sInfo, Exception inner) : base(HVectorAccessException.BuildMessage(sender, sInfo), null)
        {
        }

        // Token: 0x06001FDF RID: 8159 RVA: 0x000BA9F4 File Offset: 0x000B8BF4
        internal HVectorAccessException(HVector sender, string sInfo) : this(sender, sInfo, null)
        {
        }

        // Token: 0x06001FE0 RID: 8160 RVA: 0x000BA9FF File Offset: 0x000B8BFF
        internal HVectorAccessException(HVector sender) : this(sender, "Illegal operation on vector")
        {
        }

        // Token: 0x06001FE1 RID: 8161 RVA: 0x000BAA0D File Offset: 0x000B8C0D
        internal HVectorAccessException(string sInfo, Exception inner) : this(null, sInfo, inner)
        {
        }

        // Token: 0x06001FE2 RID: 8162 RVA: 0x000BAA18 File Offset: 0x000B8C18
        internal HVectorAccessException(string sInfo) : this(null, sInfo)
        {
        }

        // Token: 0x06001FE3 RID: 8163 RVA: 0x000BAA22 File Offset: 0x000B8C22
        //internal HVectorAccessException() : this(null)
        internal HVectorAccessException()
        {
        }
    }
}
